home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 8 / QRZ Ham Radio Callsign Database - Volume 8.iso / pc / files / t_sys5 / unixkit.tgz / unixkit.tar / unixkit / common / asy.h next >
C/C++ Source or Header  |  1991-11-20  |  2KB  |  88 lines

  1. #ifndef    _ASY_H
  2. #define    _ASY_H
  3.  
  4. /* Unix version...   sort of a merger of 8250.h and asy.h -- MJW */
  5.  
  6. #ifndef    _GLOBAL_H
  7. #include "global.h"
  8. #endif
  9.  
  10. #ifndef    _MBUF_H
  11. #include "mbuf.h"
  12. #endif
  13.  
  14. #ifndef    _IFACE_H
  15. #include "iface.h"
  16. #endif
  17.  
  18. /* Read fifo control structure */
  19. struct fifo {
  20.     char *buf;        /* Ring buffer */
  21.     unsigned bufsize;    /* Size of ring buffer */
  22.     char *wp;        /* Write pointer */
  23.     char *rp;        /* Read pointer */
  24.     unsigned short cnt;    /* count of characters in buffer */
  25.     unsigned short hiwat;    /* High water mark */
  26.     long overrun;        /* count of sw fifo buffer overruns */
  27. };
  28.  
  29. /* Asynch controller control block */
  30. struct asy {
  31.     struct iface *iface;
  32.     struct fifo fifo;
  33.     int trigchar;        /* Fifo trigger character */
  34.     char cts_flow_control;
  35.     char rlsd_line_control;    /* RLSD indicates physical layer up/down */
  36. #define RLSD_NONE    0
  37. #define RLSD_DOWN    11        /* wierd values, to catch previous */
  38. #define RLSD_UP        22
  39.     int speed;        /* Line speed */
  40.     char *tty;
  41.     int IORser;        /* Input file descriptor */
  42.     int IOWser;        /* Output file descriptor */
  43.     long rxchar;        /* Received characters */
  44.     long txchar;        /* Transmitted characters */
  45. };
  46. extern struct asy Asy[];
  47. extern unsigned Nasy;        /* Actual number of asynch lines */
  48. #define    ASY_MAX    5        /* Five asynch ports allowed on the PC */
  49.  
  50. #define    SLIP_MODE    0
  51. #define    AX25_MODE    1
  52. #define    NRS_MODE    2
  53. #define UNKNOWN_MODE    3
  54. #define PPP_MODE    4
  55.  
  56. /* In bsd_io.c: */
  57. int asy_init __ARGS((int dev,struct iface *iface,char *arg1,char *arg2,
  58.     int16 bufsize,int trigchar,char cts,char rlsd,int16 speed));
  59. int asy_ioctl __ARGS((struct iface *iface,int cmd,int set,int32 val));
  60. void asy_output __ARGS((int dev,char *buf,unsigned short cnt));
  61. int asy_send __ARGS((int dev,struct mbuf *bp));
  62. int asy_speed __ARGS((int dev,int16 speed));
  63. int asy_stop __ARGS((struct iface *iface));
  64. int get_rlsd_asy __ARGS((int dev, int new_rlsd));
  65. void asy_tx __ARGS((int dev,void *p1,void *p2));
  66. int get_asy __ARGS((int dev));
  67. int stxrdy __ARGS((int dev));
  68.  
  69. #ifdef PACKET
  70. struct nitdrvr {
  71.     char *buffer;     /* Currently allocated rx buffer */
  72.     struct iface *iface;
  73.     int IOser;
  74. };
  75. extern struct nitdrvr Nitdrvr[];
  76. extern int Nnit;
  77. struct tundrvr {
  78.     struct iface *iface;
  79.     int IOser;
  80. };
  81. extern struct tundrvr Tundrvr[];
  82. extern int Ntun;
  83. #endif /* PACKET */
  84. #define NIT_MAX 3
  85. #define TUN_MAX 3
  86.  
  87. #endif /* _ASY_H */
  88.